從前面的討論可以了解到,內(nèi)邊距、外邊距和邊框都可以應(yīng)用于網(wǎng)頁設(shè)計行內(nèi)非替換元素。行內(nèi)元素的這些方面根本不會影響行框的高度。如果對一個無內(nèi)外邊距的span元素應(yīng)用某個邊框,可能得到如圖7-40所示的結(jié)果。
網(wǎng)站建設(shè)行內(nèi)元素的邊框邊界由font-size而不是line-height控制。換句話說,如果一個span元素的font-size為12px, line-height為36px,其內(nèi)容區(qū)就是12px高,邊框?qū)鼑搩?nèi)容區(qū)。
或者,可以為行內(nèi)元素指定內(nèi)邊距,這會把邊框從文本本身拉開:
span {border: 1px solid black; padding: 4px;}
注意,這個內(nèi)邊距并沒有改變內(nèi)容區(qū)的具體形狀,不過它會影響這個元素行內(nèi)框的高度。類似地,網(wǎng)頁設(shè)計中向一個行內(nèi)元素增加邊框也不會影響行框的生成和布局。
至于外邊距,實際上,外邊距不會應(yīng)用到行內(nèi)非替換元素的頂端和底端,它們不影響行框的高度。不過,行內(nèi)元素的兩端則是另一回事。
注意:CSS2.1中明確指定了外邊距的放置,它定義了margin-top和margin-bottom (可以應(yīng)用到不是行內(nèi)非替換元素的所有其他元素),而不是簡單地說用戶代理應(yīng)當(dāng)忽略上、下外邊距。
應(yīng)當(dāng)還記得,行內(nèi)元素基本上會作為一行放置,然后分成多個部分,所以,如果向一個行內(nèi)元素應(yīng)用外邊距,這些外邊距將出現(xiàn)在其開始和末尾,分別為左、右外邊距。內(nèi)邊距也出現(xiàn)在邊界上。因此,網(wǎng)頁設(shè)計盡管內(nèi)邊距和外邊距(以及邊框)不影響行高,但是它們確實能影響一個元素內(nèi)容的布局,可能將文本推離其左右兩端。實際上,如果左、右外邊距為負(fù),可能會把文本拉近行內(nèi)元素,甚至導(dǎo)致重疊。
可以把行內(nèi)元素想成是一個紙片,外圍有一些塑料邊。在多行上顯示行內(nèi)元素就像是把一個大紙片剪成一些小紙片。不過,每個小紙片上不會增加額外的塑料邊。小紙片上的塑料邊還是最初那個大紙片上的塑料邊,所以看上去只是原來紙片(行內(nèi)元素)最前和最后兩端上出現(xiàn)塑料邊。
所以,網(wǎng)站建設(shè)如果行內(nèi)元素有一個背景,而且內(nèi)邊距足夠大以至于行背景重疊,此時會發(fā)生什么情況呢?看下面的例子:
p {font-size: 15px; line-height: 1em;}
p span {background:#999; padding-top: 10px; padding-bottom: 10px;}
span元素中的所有文本都有15像素高的內(nèi)容區(qū),而且為各內(nèi)容區(qū)的頂部和底部各增加了10像素的內(nèi)邊距。這些額外的像素不會增加行框的高度,這原本很好,不過這里有背景色。
網(wǎng)站建設(shè)CSS 2.1明確指出行框按文檔的順序繪制:“這會導(dǎo)致后續(xù)行的邊框在前面行的邊框和文本上繪制。”這個原則同樣適用于背景,如圖7-43所示。另一方面,CSS2允許用戶代理“‘切掉’邊框和內(nèi)邊距區(qū)(也就是不顯示邊框和內(nèi)邊距)”。因此,具體結(jié)果可能很大程度上取決于用戶代理遵循哪一個規(guī)范。
當(dāng)前文章標(biāo)題:網(wǎng)頁設(shè)計中的增加框?qū)傩?/p>
當(dāng)前URL:http://www.ww44088.com/news/wzzz/Increase- box.html